The use of servers as devices within communications networks is well known in the art. A server is equipment that makes available file, database, printing, facsimile, communications or other services to client terminals/stations with access to the network the server serves. When the server permits client/terminal station access to external communications network it is sometimes known as a gateway. Servers are available in different sizes, shapes and varieties. Servers may be distributed throughout a network or they may be concentrated in centralized data centers.
Advances in centralized data processing centers have resulted in smaller form factors for server devices and an increase in the density of processing units, thereby reducing space requirements for computing infrastructure. One common form factor has been termed in the art a blade server, comprising a device built for vertically inserting into a chassis that can house multiple devices that share power and other connections over a common backplane, i.e., a blade center. Slim, hot swappable blade servers fit in a single chassis like books in a bookshelf—and each is an independent server, with its own processors, memory, storage, network controllers, operating system and applications. The blade server, also referred to simply as a blade, slides into a bay in the chassis and plugs into a mid- or backplane, sharing power, fans, floppy drives, switches, and ports with other blade servers. The benefits of the blade server approach will be readily apparent to anyone tasked with running down hundreds of cables strung through racks just to add and remove servers. With switches and power units shared, precious space is freed up—and blade servers enable higher density with far greater ease. With a large number of high-performance blade servers in a single chassis, blade technology achieves high levels of density.
Even though power consumption and device complexity per unit of processing power may actually decrease with a blade center, since the physical density of the computing devices has increased, the demands on power consumption for processing power and cooling have also intensified as overall computing power has increased. A blade center chassis has resources such as power and cooling that are shared by multiple components in the enclosure. A management module is present in each chassis which is responsible for managing all components within a chassis and the relationship between them. Each blade server is allocated a fixed amount of power or cooling capacity. If any blade server exceeds its allocation, it can force the entire chassis to exceed threshold values, which can, in turn, force the common power supply to shut down, causing other blade servers to be turned off. Another risk is that any blade server exceeding its allocation can cause other blade servers to shutdown due to temperatures exceeding their critical thresholds.
Probably, one of the most pressing problems associated with servers is manageability and particularly manageability as applied to chassis mounted servers. One aspect of manageability within this type of server relates to managing performance within the constraints of the available resources. Well-known in the art are management methods and their related system architectures for maintaining a sufficient level of computing power and aggregate data throughput in the face of highly fluctuating or deterministic service requests. Documented application server resource management methods aim to provide an optimum level of service for a given set of resources, subject to a certain demand of computing power; upon total utilization of available resources, the methods generally assume that the processing power is expandable ad infinitum, thus demanding additional computing infrastructure. However, certain instrinsic resource constraints on any given computing center location, such as available electrical power, space, and cooling, are finite and thus effectively limit further expansion of that infrastructure. Projects for expanding or duplicating an existing computing center often require significant corporate resources and carry an economic impact that goes well beyond the cost of the core computing infrastructure. As blade server performance values, such as processor speeds and bus clock frequencies, have increased dramatically, electrical power requirements within a single blade center have frequently reached constraining values, such that it may not be unusual that insufficient electrical power is available in a given chassis to simultaneously power on all blade servers present in the chassis. Furthermore, since a blade center chassis will often be dimensioned for future growth and expansion, newer, faster, power-hungry blade servers may need to be added to an existing chassis, which would normally exceed the rated values for power consumption.
All of the aforementioned factors indicate that power resources are a critical element in the economic success of a blade center. Therefore, a key aspect of manageability within this type of application server relates to allocating power resources, which has been solved by system architecture in past configurations by forcing individual blade servers to shutdown, or not permitting additional blade servers to power on. Clearly, a scenario where not all blade servers in a chassis may be powered on is economically detrimental for the operator of the blade center.
The computing resources within an individual blade server are unfortunately often wasted due to low utilization during normal operation, whereby the power allocated to (and consumed by) an individual blade server remains constant, usually at full power for all components. When determining server resources required for a target application, the administrator generally has to plan for the worst-case scenario. In one illustrative example, 80% of the time, an application may require some X amount of resources, comprising CPU cycles and physical memory. The other 20% of the time, the application may require 2× amount of those resources. In order to provide for that 20% of the time, the administrator was forced to dimension the server with 2× resources for the application to run on.
There are two ways to allocate power within a blade center chassis. In one case, illustrated in FIGS. 1 and 2, a subset of blade servers can be allocated power sufficient to meet their maximum power consumption. This may result in underutilization of resources, as in the previous example, where 80% of the time only X amount of resources are utilized in a system providing 2× amount of resources. Alternatively, a subset of the blade servers can be allocated power for them to run at a lower percentage of their maximum power consumption, as illustrated in FIG. 3. Since the power allocation is unenforceable, any spike in utilization by an application will result in an increase in power consumption, which can drive the aggregate power consumption over the capacity of the common power supply, catastrophically causing all servers in the chassis to fail or be shutdown.
In view of the above problems, a more efficient system and more reliable method is needed in the art for managing blade server utilization in an environment where electrical power is constrained.